package com.company.administratormodule.entities;

import java.io.Serializable;
import javax.persistence.*;
import java.util.Set;


/**
 * The persistent class for the usuarios database table.
 * 
 */
@Entity
@Table(name="usuarios")
public class Usuario implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@Column(unique=true, nullable=false, length=45)
	private String login;

    @Lob()
	private String email;

    @Lob()
	private String nombre;

    @Lob()
	private String password;

	//bi-directional many-to-many association to Prueba
	@ManyToMany(fetch=FetchType.EAGER)
	@JoinTable(
		name="prueba_usuario"
		, joinColumns={
			@JoinColumn(name="login", nullable=false),
			}
		, inverseJoinColumns={
			@JoinColumn(name="nombre", nullable=false),
			}
		)
	private Set<Prueba> pruebas;

	//bi-directional many-to-one association to Resultado
	@OneToMany(mappedBy="usuario", fetch=FetchType.EAGER)
	private Set<Resultado> resultados;

	//bi-directional many-to-one association to Id_tipo
    @ManyToOne
	@JoinColumn(name="idtipo")
	private Id_tipo idTipo;

    public Usuario() {
    }

	public String getLogin() {
		return this.login;
	}

	public void setLogin(String login) {
		this.login = login;
	}

	public String getEmail() {
		return this.email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getPassword() {
		return this.password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public Set<Prueba> getPruebas() {
		return this.pruebas;
	}

	public void setPruebas(Set<Prueba> pruebas) {
		this.pruebas = pruebas;
	}
	
	public Set<Resultado> getResultados() {
		return this.resultados;
	}

	public void setResultados(Set<Resultado> resultados) {
		this.resultados = resultados;
	}
	
	public Id_tipo getIdTipo() {
		return this.idTipo;
	}

	public void setIdTipo(Id_tipo idTipo) {
		this.idTipo = idTipo;
	}
	
}